Aggiungi un pulsante di azione mobile

Prova la funzionalità Scrivi
Jetpack Compose è il toolkit per l'interfaccia utente consigliato per Android. Scopri come aggiungere componenti in Compose.

Un pulsante di azione mobile (FAB) è un pulsante circolare che attiva l'azione principale nell'interfaccia utente dell'app. Questa pagina mostra come aggiungere il pulsante FAB al layout, personalizzare parte del suo aspetto e rispondere ai tocchi del pulsante.

Per scoprire di più su come progettare un pulsante di azione sovrapposto nella tua app in base alle linee guida di Material Design, consulta anche Pulsanti: pulsante di azione sovrapposto.

Figura 1. Un pulsante di azione mobile

Aggiungi il pulsante di azione mobile al layout

Il seguente codice mostra come deve apparire il FloatingActionButton nel file di layout:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@drawable/ic_my_icon"
        android:contentDescription="@string/submit"
        android:layout_margin="16dp" />

Per impostazione predefinita, il pulsante FAB è colorato dall'attributo colorAccent, che puoi personalizzare con la tavolozza dei colori del tema.

Puoi configurare altre proprietà FAB utilizzando gli attributi XML o i metodi corrispondenti, ad esempio:

  • Le dimensioni del FAB, utilizzando l'attributo app:fabSize o il metodo setSize().
  • Il colore dell'effetto ripple del pulsante FAB, utilizzando l'attributo app:rippleColor o il metodo setRippleColor().
  • L'icona FAB, utilizzando l'attributo android:src o il metodo setImageDrawable().

Rispondere ai tocchi dei pulsanti

A questo punto, puoi applicare un View.OnClickListener per gestire i tocchi del pulsante flottante. Ad esempio, il seguente codice mostra un Snackbar quando l'utente tocca il FAB:

Kotlin

val fab: View = findViewById(R.id.fab)
fab.setOnClickListener { view ->
    Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
            .setAction("Action", null)
            .show()
}

Java

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
    }
});

Per ulteriori informazioni sulle funzionalità del FAB, consulta il riferimento all'API per FloatingActionButton.